package org.homeworkteam.bean;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.sql.Timestamp;

/**
 * Video 实体类
 * - 映射数据库表 "video" 的字段
 */
@TableName("video") // 映射数据库表名\
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Video {

  /**
   * 主键 video_id
   * - 自增主键
   */
  @TableId(value = "video_id", type = IdType.AUTO) // 映射主键字段
  private Integer videoId;

  /**
   * 视频价格 price
   * - 映射 decimal 类型字段
   */
  @TableField("price") // 数据库字段与类字段一致时可以省略
  private double price;

  /**
   * 视频链接 video_url
   */
  @TableField("video_url") // 映射字段 video_url
  private String videoUrl;

  /**
   * 教师ID teacher_id
   */
  @TableField("teacher_id") // 映射字段 teacher_id
  private Integer teacherId;

  /**
   * 视频状态 status
   * - 映射 enum 类型字段
   */
  @TableField("status")
  private String status;

  /**
   * 创建时间 create_time
   */
  @TableField("create_time")
  private Timestamp createTime;

  /**
   * 原始价格 old_price
   */
  @TableField("old_price") // 映射字段 old_price
  private double oldPrice;

  /**
   * 封面 video_img
   */
  @TableField("video_img") // 映射字段 old_price
  private String videoImg;

  @TableField("video_name") // 映射字段 old_price
  private String videoName;

  @TableField("video_remake") // 映射字段 old_price
  private String videoRemake;
  /**
   * 出品的老师详情 teacher
   */
  @TableField(exist = false) // 不查询该字段
  private Teachers teacher;

}
